home *** CD-ROM | disk | FTP | other *** search
/ Nebula 1 / Nebula One.iso / Mail / MailEnclosure / Source.v0.15 / Defaults.m < prev    next >
Text File  |  1995-06-12  |  2KB  |  104 lines

  1. /*
  2. ** Defaults.m,v 1.2 1992/08/17 19:13:26 nwc Exp
  3. **
  4. ** Copyright (c) 1991 Ronin Consulting, Inc.
  5. */
  6.  
  7. #import "Defaults.h"
  8. #import <appkit/Application.h>
  9.  
  10. @implementation Defaults
  11.  
  12. static id  theOnlyOne = nil;
  13. static NXDefaultsVector noDefs = {{NULL}};
  14.  
  15. + new
  16. {
  17.    if(!theOnlyOne)
  18.    {
  19.       theOnlyOne = self = [super new];
  20.       appName = [NXApp appName];
  21.       registered = NO;
  22.    }
  23.    else
  24.        self = theOnlyOne;
  25.    
  26.    return self;
  27. }
  28.  
  29.  
  30. - regDefaults:(NXDefaultsVector) defaultsVector
  31. {
  32.    NXRegisterDefaults(appName, defaultsVector);
  33.    registered = YES;
  34.    return self;
  35. }
  36.  
  37.  
  38. - (const char *)get: (const char *) aDefault
  39. {
  40.    if(!registered)
  41.        [self regDefaults: noDefs];
  42.  
  43.    return NXGetDefaultValue(appName, aDefault);
  44. }
  45.  
  46. - set: (const char *) aDefault to: (const char *)aValue
  47. {
  48.    if(!registered)
  49.        [self regDefaults: noDefs];
  50.  
  51.    NXSetDefault(appName, aDefault, aValue);
  52.    return self;
  53. }
  54.  
  55. - (const char *) readDB: (const char *) aDefault
  56. {
  57.    if(!registered)
  58.        [self regDefaults: noDefs];
  59.  
  60.    return NXReadDefault(appName, aDefault);
  61. }
  62.  
  63. - writeDB: (const char *) aDefault as: (const char *)aValue
  64. {
  65.    if(!registered)
  66.        [self regDefaults: noDefs];
  67.  
  68.    NXWriteDefault(appName, aDefault, aValue);
  69.    return self;
  70. }
  71.  
  72.  
  73. - remove: (const char *) aDefault
  74. {
  75.    if(!registered)
  76.        [self regDefaults: noDefs];
  77.  
  78.    NXRemoveDefault(appName, aDefault);
  79.    return self;
  80. }
  81.  
  82. - update: (const char *) aDefault
  83. {
  84.    if(!registered)
  85.        [self regDefaults: noDefs];
  86.  
  87.    NXUpdateDefault(appName, aDefault);
  88.    return self;
  89. }
  90.  
  91. - update
  92. {
  93.    if(!registered)
  94.        [self regDefaults: noDefs];
  95.  
  96.    NXUpdateDefaults();
  97.    return self;
  98. }
  99.  
  100.  
  101. @end
  102.  
  103.  
  104.